#!/bin/bash

# MCP Ant Design 数据库设置脚本
echo "🗄️  开始设置 MCP Ant Design 数据库..."

# 设置数据库连接参数
DB_HOST="localhost"
DB_PORT="3306"
DB_USER="root"
DB_PASS=""

# 检查 MySQL 是否运行
if ! command -v mysql &> /dev/null; then
    echo "❌ MySQL 未安装或未在 PATH 中找到"
    exit 1
fi

# 测试数据库连接
echo "🔍 测试数据库连接..."
if ! mysql -h"$DB_HOST" -P"$DB_PORT" -u"$DB_USER" -p"$DB_PASS" -e "SELECT 1;" &> /dev/null; then
    echo "❌ 无法连接到 MySQL 数据库"
    echo "请确保 MySQL 服务正在运行，并检查连接参数"
    exit 1
fi

echo "✅ 数据库连接成功"

# 执行 SQL 脚本
echo "📊 创建数据库和表结构..."
mysql -h"$DB_HOST" -P"$DB_PORT" -u"$DB_USER" -p"$DB_PASS" < src/database/migrations/001-create-tables.sql

if [ $? -eq 0 ]; then
    echo "✅ 数据库表结构创建成功"
else
    echo "❌ 数据库表结构创建失败"
    exit 1
fi

# 验证表是否创建成功
echo "🔍 验证表结构..."
TABLES=(components component_props component_examples component_imports templates component_cache performance_metrics)

for table in "${TABLES[@]}"; do
    if mysql -h"$DB_HOST" -P"$DB_PORT" -u"$DB_USER" -p"$DB_PASS" -e "USE mcp_antd; DESCRIBE $table;" &> /dev/null; then
        echo "✅ 表 $table 创建成功"
    else
        echo "❌ 表 $table 创建失败"
        exit 1
    fi
done

echo ""
echo "🎉 数据库设置完成！"
echo "📋 创建的数据库："
echo "   - mcp_antd (生产环境)"
echo "   - mcp_antd_dev (开发环境)"
echo ""
echo "📋 创建的表："
echo "   - components (组件主表)"
echo "   - component_props (组件属性表)"
echo "   - component_examples (组件示例表)"
echo "   - component_imports (组件导入表)"
echo "   - templates (模板表)"
echo "   - component_cache (缓存表)"
echo "   - performance_metrics (性能监控表)"
echo ""
echo "🚀 现在可以启动 MCP Server 了！"